//写在入口函数中 防止全局污染
$(function () {
    //使用bootstrap-validator表单验证控件
    //初始化表单校验控件
    $('#form').bootstrapValidator({
        //1. 指定校验时的图标显示，默认是bootstrap风格
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        //2.设置用户名的校验条件
        fields: {
            //校验用户名，对应name表单的name属性
            username: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: "用户名不可为空"
                    },
                    //长度在2-6位之间
                    stringLength: {
                        min: 2,
                        max: 6,
                        message: "长度要在2-6位之间!"
                    },
                    //回调函数
                    callback: {
                        message: "用户名不存在"
                    }
                }
            },
            password: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: "用户名不可为空"
                    },
                    //长度要求在6-12位之间
                    stringLength: {
                        min: 6,
                        max: 12,
                        message: "长度要求在6-12位之间!"
                    },
                    //回调函数
                    callback: {
                        message: "密码错误"
                    }
                }
            }
        }
    })

    //登录实现  因为submit的按钮点击时会刷新页面 但是这个插件只识别submit,
    //所以要阻止submit的默认行为 使用preventDfault();
    //在bootstrapValidator中的注册完成事件中提交ajax请求 访问数据库 
    //获取响应码 根据响应码显示对应的信心 成功跳转至主页
    $("#form").on('success.form.bv', function (e) {
        e.preventDefault();
        //使用ajax提交逻辑
        $.ajax({
            url: "/employee/employeeLogin",
            type: "post",
            data: $('#form').serialize(),
            dataType: 'json',
            success: function (info) {
                console.log(info);
                //success
                if ( info.error === 1000 ) {
                    // alert( "用户名不存在" )
                    $('#form').data("bootstrapValidator").updateStatus("username", "INVALID", "callback");
                  }
          
                  if ( info.error === 1001 ) {
                    // alert( "密码错误" );
                    // updateStatus
                    // 参数1: 字段名称
                    // 参数2: 校验状态
                    // 参数3: 校验规则, 可以设置提示文本
                    $('#form').data("bootstrapValidator").updateStatus("password", "INVALID", "callback")
                  }

                  if (info.success) {
                      location.href = "index.html"
                  }
            }
        })
    });
    
    //重置按钮  因为默认的重置按钮只可重置内容文本 但是不可重置提示的样式
    //使用表单的原型上的resetForm上
    $('#reset').on('click',function(){
        $("#form").data('bootstrapValidator').resetForm();//重置表单，并且会隐藏所有的错误提示和图标
    })

})